const ipUtil = require("../../utils/hostUtil")
const requestUtil = require("../../utils/requestUtil")
Page({

    /**
     * 页面的初始数据
     */
    data: {
        checkedid: "",
        list: [],
    },
    /**
     * 生命周期函数--监听页面加载
     */
    onLoad: function (options) {
        wx.setNavigationBarTitle({title: '收货地址'})
        // 后端对地址列表进行排序 默认的在第一位显示
        this.getAndSetAddressList();
        if (options.type != undefined) {
            this.setData({
                type: "choose"
            })
        }
    },
    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady: function () {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow: function () {
        // 刷新地址列表
        this.getAndSetAddressList();
    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide: function () {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload: function () {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh: function () {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom: function () {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage: function () {

    },
    // 设为默认地址
    radioChange: function (e) {
        wx.request({
            url: `${ipUtil.host}${requestUtil.address_default}`,
            data: {"id": e.detail.value},
            method: "POST",
            success(res) {
                if (res.code > 0) {
                    this.getAndSetAddressList();
                }
            }
        })
    },
    //编辑地址
    editaddress: function (address_id) {
        wx.navigateTo({
            url: `/pages/adress/detail?id=${address_id}`
        })
    },
    // 设置地址列表
    setAddressList: function (data) {
        data.forEach(e => {
            if (e.defaultAdd == 1) {
                this.setData({
                    checkedid: e.addressid
                })
            }
        })
        this.setData({
            list: data
        })
    },
    // 获取并设置地址列表
    getAndSetAddressList: function (options) {
        var that = this;
        var token = wx.getStorageSync("token")
        wx.request({
            url: `${ipUtil.host}${requestUtil.address_list}`,
            data: {token: token},
            method: "POST",
            header: requestUtil.header,
            success(res) {
                if (res.data.rows) {
                    that.setAddressList(res.data.rows)
                }
            }, fail(res) {
                console.log("请求失败", res)
            }
        })
    },
    addAddress: function () {
        wx.navigateTo({
            url: "/pages/adress/detail"
        })
    }
    , to_edit_page: function (e) {
        wx.navigateTo({
            url: `/pages/adress/detail?id=${e.currentTarget.dataset.id}`
        })
    },
    /**
     * 选择收货地址
     * @param e
     */
    selectAddress: function (e) {
        // 如果不是从订单页面打开的 则不允许选择地址
        if (this.data.type != "choose") {
            return;
        }
        var id = e.currentTarget.dataset.id;
        var address = "";
        var list = this.data.list;
        list.forEach((item) => {
            if (item.addressid == id) {
                address = item;
            }
        })
        let pages = getCurrentPages(); // 获取当前页面
        let prevPage = pages[pages.length - 2]; // 获取上一个页面
        // 设置当前选中的地址
        prevPage.setData({
            address: address
        })
        wx.navigateBack({
            delta: 1
        })
    }
})